/*
ID:ykzhuji1
PROG:crypt1
LANG:C++
 */
#include <iostream>
#include <fstream>
#include <memory.h>
using namespace std;
bool mask[10];
int number[10];
int total;
bool test(int d,int w){
	int temp=0;
	do{
		if(!mask[d%10]||++temp>w)
			return false;

	}while(d/=10);
	return temp==w?true:false;
}
int main(){
	ifstream fin("crypt1.in");
	ofstream fout("crypt1.out");
	memset(mask,0,10);
	fin>>total;
	for(int i=0;i<total;i++){
		fin>>number[i];
		mask[number[i]]=true;
	}
	int r=0;
	for(int a1=0;a1<total;a1++)
		for(int a2=0;a2<total;a2++)
			for(int a3=0;a3<total;a3++)
				for(int a4=0;a4<total;a4++)
					for(int a5=0;a5<total;a5++){
						int num1=number[a1]*100+number[a2]*10+number[a3];
						int num2=number[a4];
						int num3=number[a5];
						int num4=num2*10+num3;
						if(test(num1*num2,3)&&test(num1*num3,3)&&test(num1*num4,4))
							r++;
					}
	fout<<r<<endl;
	return 0;
}
